﻿using static Medical.Domain.Enum.DepartmentEnum;

namespace Medical.Api.Read.Dto.WmsDto.WmsLssueDto
{
    public class WmsLssueDto
    {
        public int Id { get; set; }
    }

    /// <summary>
    /// 发放分页查询参数
    /// </summary>
    public class WmsLssueQueryDto
    {
        public int PageIndex { get; set; } = 1;
        public int PageSize { get; set; } = 10;
        public DateTime? StartTime { get; set; }
        public DateTime? EndTime { get; set; }
        public int? LssueState { get; set; }
        public string? LssueCode { get; set; }
        public string? LssueName { get; set; }
        public string? AcceptName { get; set; }
    }

    /// <summary>
    /// 发放分页列表DTO
    /// </summary>
    public class WmsLssuePageDto
    {
        public int Id { get; set; }
        public string LssueCode { get; set; }
        public string LssueName { get; set; }
        public DateTime? LssueDate { get; set; }
        public string AcceptName { get; set; }
        public ApplyingUnitEnum ApplyingUnit { get; set; }
        public string ApplyingUnitNmae { get; set; }
        public int LssueState { get; set; }
        public string LssueStateName { get; set; }
        public DateTime CreateTime { get; set; }
    }

    /// <summary>
    /// 发放详情DTO
    /// </summary>
    public class WmsLssueDetailReadDto
    {
        public int Id { get; set; }
        public string LssueCode { get; set; }
        public string LssueName { get; set; }
        public DateTime? LssueDate { get; set; }
        public ApplyingUnitEnum ApplyingUnit { get; set; }
        public string AcceptName { get; set; }
        public int LssueState { get; set; }
        public string LssueStateName { get; set; }
        public List<WmsLssueDetailItemReadDto> Details { get; set; }
    }

    /// <summary>
    /// 发放明细DTO
    /// </summary>
    public class WmsLssueDetailItemReadDto
    {
        public int Id { get; set; }
        public int MaterialType { get; set; }
        public string MaterialTypeName { get; set; }
        public int MaterialId { get; set; }
        public string MaterialCode { get; set; }
        public string MaterialName { get; set; }
        public int LssueNum { get; set; }
    }
}
